SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

CREATE PROCEDURE [dbo].[pje_porAntecedentes] @idInscripcion as integer ,@pje as float output,@resultado as int  AS
set nocount on --para anular el trafico econ el cliente (no salen los print)
set dateformat mdy 

declare  @idAgente as int,@idCargoGenerico as int,@idAsignaturaGenerica as int, @idTipoConvocatoria as int ,@idlocalidad as int, @FechaLimite as datetime,@fechaCierreDeInscripciones as datetime,@nivel_insc as int,@ciclo as int
declare @titulo as int, @fechaEgreso as datetime,@idCapacitacion as integer, @FechaCapacitacion as datetime
declare @tieneCapacitacion as char(1) , @tieneCapacitacionParaHabilitaztes as char(1)
declare @Titulo1 as int,@Titulo2 as int,@Titulo3 as int,@Categoria as float
declare @cantidadPostgrados as int -- cantidad de postgrados relacionados al titulo con el que se inscribe el agente
--Variables del Cursor
declare @idcapacitacionc as int
declare @idagentec as int
declare @capacitacionc as int
declare @horascatedrac as int
declare @antiguedad as int
declare @pjeAntiguedadTitulo as float
declare @pjeAntiguedadDocente as float

set @pje=0

DECLARE @Error INT

BEGIN TRANSACTION
SET @ERROR=0


--TRAEMOS TODOS LOS DATOS DE LA INSCRIPCION A PARTIR DEL PARAMETRO DEL SP

select  @idAgente=i.Agente,@IdcargoGenerico = i.CargoGenerico,@IdAsignaturaGenerica=i.AsignaturaGenerica,@idtipoConvocatoria=Conv.TipoConvocatoria,@FechaLimite=Conv.FechaLimite,@fechaCierreDeInscripciones=Conv.fechaCierre,@nivel_insc = i.nivel,@ciclo=isnull(ciclo,1)
	from 
	tb_inscripcionesConvocatorias i 
		join tb_Convocatorias conv on i.Convocatoria=conv.idConvocatoria 
	where i.idInscripcionConvocatoria=@idInscripcion


/* ANTIGUEDAD POR TITULO */

set @pjeAntiguedadTitulo=0

		--PRIMERO PREGUNTAMOS SI SE INCRIBIO COMO TITULO 1 DOCENTE
		if(exists( SELECT t.titulo from tb_titulosdelagente t where t.agente=@idagente and t.titulo iN(select a.titulo3 from tb_anexotitulos a where a.asignaturagenerica=@idasignaturagenerica)))
			begin
			--(TITULO 1 DOCENTE)
			set @fechaegreso = (SELECT t.fechaegreso from tb_titulosdelagente t where t.agente=@idagente and t.titulo iN(select a.titulo3 from tb_anexotitulos a where a.asignaturagenerica=@idasignaturagenerica))
			end
		--IF ANIDADO - PREGUNTAMOS SI SE INSCRIBIO COMO HABILITANTE
		else if(exists (SELECT t.titulo from tb_titulosdelagente t where t.agente=@idagente and t.titulo iN(select a.titulo2 from tb_anexotitulos a where a.asignaturagenerica=@idasignaturagenerica)))
			begin
			--(TITULO HABILITANTE)
			set @fechaegreso = (SELECT t.fechaegreso from tb_titulosdelagente t where t.agente=@idagente and t.titulo iN(select a.titulo2 from tb_anexotitulos a where a.asignaturagenerica=@idasignaturagenerica))
			end
		--IF ANIDADO - PREGUNTAMOS SI SE INCRIBIO COMO SUPLETORIO
		else if(exists (SELECT t.titulo from tb_titulosdelagente t where t.agente=@idagente and t.titulo iN(select a.titulo1 from tb_anexotitulos a where a.asignaturagenerica=@idasignaturagenerica)))
			begin
			--(TITULO SUPLETORIO)
			set @fechaegreso = (SELECT t.fechaegreso from tb_titulosdelagente t where t.agente=@idagente and t.titulo iN(select a.titulo1 from tb_anexotitulos a where a.asignaturagenerica=@idasignaturagenerica))
			end
			
			if(@fechaegreso is not null)
				begin
				--SETEAMOS LA ANTIGUEDAD EN AÑOS USANDO LA FORMULA
				set @antiguedad = datediff(dd,@fechaegreso,getdate())/365
				if(@antiguedad>=12)
						begin
						set @pjeAntiguedadTitulo=3
						end
					else
						begin
						set @pjeAntiguedadTitulo=@antiguedad*0.25
						end
			    end


--SUMAMOS LOS DOS PUNTAJES Y SETEAMOS LA VARIABLE DE SALIDA CON ESO
SET @pje=@pjeAntiguedadTitulo + @pjeAntiguedadDocente
		    
IF @Error <> 0
begin
	print 'NO TIENE OTROS TITULOS DOCENTES'
	PRINT @@TRANCOUNT 
	ROLLBACK TRANSACTION
end
ELSE
	COMMIT TRANSACTION
GO
